//后台管理界面的标签专用状态管理
export default {
  state: {
    tabList:JSON.parse(localStorage.getItem('tabList')) || [
      //当前显示的面包屑列表中的数据，首页是一定有的
      {
        url: '/admin',
        title: '后台首页'
      }
    ]
  },
  //变更状态的同步函数
  mutations:{
    //添加标签
    addTab(state,tab) {
      //从当前面包屑列表查找数据，看是否已经存在
      const index = state.tabList.findIndex(item => item.url === tab.url)
      //如果不存在，则添加到列表中
      if(index === -1) {
        state.tabList.push(tab)
        // 更新 localStorage 中的数据
        localStorage.setItem('tabList', JSON.stringify(state.tabList))
      } else {
        // 如果存在，将这个数据移除，重新加入
        state.tabList.splice(index,1)
        localStorage.setItem('tabList', JSON.stringify(state.tabList))
        state.tabList.push(tab)
        // 更新 localStorage 中的数据
        localStorage.setItem('tabList', JSON.stringify(state.tabList))
      }
    },
    //删除标签
    delTab(state,tab){
      //查找对应元素的下标
      const index = state.tabList.findIndex(item => item.url === tab.url)
      //通过下表删除列表数据中对应的数据
      state.tabList.splice(index,1)
      // 更新 localStorage 中的数据
      localStorage.setItem('tabList', JSON.stringify(state.tabList))
    }
  }
}
